import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/Login.vue'
import Home from '../components/Home.vue'
import Welcome from '../components/Welcome.vue'
import Users from '../components/Users.vue'
import Rights from '../components/pows/Rights.vue'
import Roles from '../components/pows/Roles.vue'
import Cate from '../components/goods/Cate.vue'
import Params from '../components/goods/Param.vue'
import GoodList from '../components/goods/List.vue'
import GoodAdd from '../components/goods/Add.vue'
import Report from '../components/report/Report.vue'
Vue.use(VueRouter)

  const routes = [
    {
      path:"/",
      component:Login
    },
    {
      path:"/login",
      component:Login
    },
    {
      path:"/home",
      component: Home,
      redirect:'/welcome',
      children:[
        {
          path:'/welcome',
          component:Welcome
        },
        {
          path:'/users',
          component:Users
        },
        {
          path:'/rights',
          component:Rights
        },
        {
          path:'/roles',
          component:Roles
        },
        {
          path:'/categories',
          component:Cate
        },
        {
          path:'/params',
          component:Params
        },
        {
          path:'/goods',
          component:GoodList
        },
        {
          path:'/goods/add',
          component:GoodAdd
        },
        {
          path:'/reports',
          component:Report
        }
      ]
    }

]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})
// 路由导航守卫，不带token只允许访问login
router.beforeEach((to,from,next)=>{
  if(to.path=='/login'){
    return next();
  }
  const tokenStr = window.sessionStorage.getItem('token');
  // 这里有必要向服务器发请求校验正伪
  if(!tokenStr){
    return next('/login');
  }
  next();
})
export default router
